package com.heima.article.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.heima.model.article.dtos.ArticleCommentDto;
import com.heima.model.article.dtos.ArticleDto;
import com.heima.model.article.dtos.ArticleHomeDto;
import com.heima.model.article.dtos.ArticleInfoDto;
import com.heima.model.article.mess.ArticleVisitStreamMess;
import com.heima.model.article.pojos.ApArticle;
import com.heima.model.common.dtos.PageResponseResult;
import com.heima.model.common.dtos.ResponseResult;
import com.heima.model.wemedia.dtos.WmNewsCommentDto;
import com.heima.model.wemedia.dtos.WmNewsPageReqDto;
import org.springframework.stereotype.Service;

public interface ApArticleService extends IService<ApArticle> {
    ResponseResult loadArticleList(short type, ArticleHomeDto articleHomeDto);

    ResponseResult saveArticle(ArticleDto articleDto);

    ResponseResult load_article_behavior(ArticleInfoDto dto);

    /**
     * 加载文章列表
     *
     * @param dto
     * @param type      1 加载更多   2 加载最新
     * @param firstPage true  是首页  flase 非首页
     * @return
     */
    ResponseResult load2(ArticleHomeDto dto, Short type, boolean firstPage);

    /**
     * 更新文章的分值  同时更新缓存中的热点文章数据
     *
     * @param mess
     */
    void updateScore(ArticleVisitStreamMess mess);


    PageResponseResult find_news_comments(ArticleCommentDto dto);

    ResponseResult newsDimension(WmNewsPageReqDto dto);

    PageResponseResult newsPage(WmNewsPageReqDto dto);

    ResponseResult newsDetail(WmNewsPageReqDto dto);

    void reduceComment(Long articleId);
}
